package com.ojoin.trade.t0loan_core.web.service;

import java.util.List;

import org.springframework.data.domain.Pageable;

import com.ojoin.trade.common.exception.BusinessException;
import com.ojoin.trade.common.web.service.BaseService;
import com.ojoin.trade.t0loan_core.web.domain.T0LoanTransTotalInfoVO;
import com.ojoin.trade.t0loan_core.web.domain.TxLoanTransTotalInfoVO;
import com.ojoin.trade.t0loan_core.web.domain.TbOutofSinglePosTranscationLog;
import com.ojoin.trade.t0loan_core.web.domain.TbT0LoanFinalApplication;

/**
 * T+0贷款信息服务接口
 * @author guoting
 *
 */
public interface T0LoanFinalBaseService extends BaseService<TbT0LoanFinalApplication> {
	
	/**
	 * 根据九盈用户id查询用户的T+0贷款信息记录(T0000006)
	 * @param joinuserNo
	 * 
	 * 说明：
	 * 查询tb_t0_loan_final_application表中id_of_tb_merchant_user为传入参数值的记录，记录业务日志
	 * 
	 * @return
	 * @throws BusinessException
	 */
	public TbT0LoanFinalApplication queryTxLoanFinalInfoByJoinUserID(int joinuserNo) throws BusinessException;
	
	public TbT0LoanFinalApplication queryTxLoanFinalInfoByMhtno(String mhtno) throws BusinessException;
	
	/**
	 * 根据九盈用户id查询用户的T+1贷款信息记录(T0000006)
	 * @param joinuserNo
	 * 
	 * 说明：
	 * 
	 * @return
	 * @throws BusinessException
	 */
	public TbT0LoanFinalApplication queryTxLoanFinalInfoByJoinUserIDAndType(int joinuserNo, String operatetype) throws BusinessException;
	
	
	/**
	 * 正常商户列表--查询所有已申请成功Tx贷款的可放贷九盈用户交易金额合计列表记录
	 * 
	 * @return
	 * @throws BusinessException
	 */
	public List<TxLoanTransTotalInfoVO> queryAllTxLoanJoinUserTransanctionTotalList(Pageable page, String operatetype) throws BusinessException;

	/**
	 * 正常商户列表--查询所有已申请成功T+0贷款的可放贷九盈用户交易金额合计列表记录-(T0000009)
	 * 
	 * @return
	 * @throws BusinessException
	 */
	public List<T0LoanTransTotalInfoVO> queryAllT0LoanJoinUserTransanctionTotalList(Pageable page) throws BusinessException;

	
	/**
	 * 日额度超限商户列表 (T0000009)
	 * 
	 * @return
	 * @throws BusinessException
	 */
	public List<T0LoanTransTotalInfoVO> queryAllOutOfDayJoinUserTransanctionTotalList(Pageable page) throws BusinessException;

	/**
	 * 单笔额度超限商户列表 (T0000009)
	 * 
	 * @return
	 * @throws BusinessException
	 */
	public List<T0LoanTransTotalInfoVO> queryAllOutofSingleJoinUserTransanctionTotalList(Pageable page) throws BusinessException;

	/**
	 * 单笔额度超限商户列表 (T0000009)
	 * 
	 * @return
	 * @throws BusinessException
	 */
	public List<TbOutofSinglePosTranscationLog> queryOutofSinglePosTranscationLogListByMhtno(String mhtno, Pageable page) throws BusinessException;

}
